_x, _y Specify the window coordinates of the lower left corner of the
rectangular region of pixels to be copied.
_w_i_d_t_h, _h_e_i_g_h_t
Specify the dimensions of the rectangular region of pixels to be
copied. Both must be nonnegative.
_t_y_p_e Specifies whether color values, depth values, or stencil values are
to be copied. Symbolic constants GGGGLLLL____CCCCOOOOLLLLOOOORRRR, GGGGLLLL____DDDDEEEEPPPPTTTTHHHH, and GGGGLLLL____SSSSTTTTEEEENNNNCCCCIIIILLLL
are accepted.
DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
ggggllllCCCCooooppppyyyyPPPPiiiixxxxeeeellllssss copies a screen-aligned rectangle of pixels from the
specified frame buffer location to a region relative to the current
raster position. Its operation is well defined only if the entire pixel
source region is within the exposed portion of the read window associated
with the current context. Results of copies from outside the window, or
from regions of the window that are not exposed, are hardware dependent
and undefined.
_x and _y specify the window coordinates of the lower left corner of the
rectangular region to be copied. _w_i_d_t_h and _h_e_i_g_h_t specify the dimensions
of the rectangular region to be copied. Both _w_i_d_t_h and _h_e_i_g_h_t must not
be negative.
Several parameters control the processing of the pixel data while it is
being copied. These parameters are set with three commands:
ggggllllPPPPiiiixxxxeeeellllTTTTrrrraaaannnnssssffffeeeerrrr, ggggllllPPPPiiiixxxxeeeellllMMMMaaaapppp, and ggggllllPPPPiiiixxxxeeeellllZZZZoooooooommmm. The state of
GGGGLLLL____IIIINNNNTTTTEEEERRRRLLLLAAAACCCCEEEE____SSSSGGGGIIIIXXXX and GGGGLLLL____IIIINNNNTTTTEEEERRRRLLLLAAAACCCCEEEE____RRRREEEEAAAADDDD____IIIINNNNGGGGRRRR, controlled by ggggllllEEEEnnnnaaaabbbblllleeee and
ggggllllDDDDiiiissssaaaabbbblllleeee, also affect the result of ggggllllCCCCooooppppyyyyPPPPiiiixxxxeeeellllssss. This reference page
describes the effects on ggggllllCCCCooooppppyyyyPPPPiiiixxxxeeeellllssss of most, but not all, of these
parameters. In addition the convolution, histogram, and minmax
operations may affect the result of ggggllllCCCCooooppppyyyyPPPPiiiixxxxeeeellllssss. See the reference
pages for ggggllllCCCCoooonnnnvvvvoooolllluuuuttttiiiioooonnnnFFFFiiiilllltttteeeerrrr2222DDDDEEEEXXXXTTTT, ggggllllHHHHiiiissssttttooooggggrrrraaaammmmEEEEXXXXTTTT, and ggggllllMMMMiiiinnnnmmmmaaaaxxxxEEEEXXXXTTTT for
more information.
ggggllllCCCCooooppppyyyyPPPPiiiixxxxeeeellllssss copies values from each pixel with the lower left-hand
corner at (_x + i, _y + j) for 0 _< i < _w_i_d_t_h and 0 _< j < _h_e_i_g_h_t. This
pixel is said to be the ith pixel in the jth row. Pixels are copied in
Modes specified by ggggllllPPPPiiiixxxxeeeellllSSSSttttoooorrrreeee have no effect on the operation of
ggggllllCCCCooooppppyyyyPPPPiiiixxxxeeeellllssss.
EEEERRRRRRRROOOORRRRSSSS
GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____EEEENNNNUUUUMMMM is generated if _t_y_p_e is not an accepted value.
GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____VVVVAAAALLLLUUUUEEEE is generated if either _w_i_d_t_h or _h_e_i_g_h_t is negative.
GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____OOOOPPPPEEEERRRRAAAATTTTIIIIOOOONNNN is generated if _t_y_p_e is GGGGLLLL____DDDDEEEEPPPPTTTTHHHH and there is no
depth buffer.
GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____OOOOPPPPEEEERRRRAAAATTTTIIIIOOOONNNN is generated if _t_y_p_e is GGGGLLLL____SSSSTTTTEEEENNNNCCCCIIIILLLL and there is no
stencil buffer.
GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____OOOOPPPPEEEERRRRAAAATTTTIIIIOOOONNNN is generated if ggggllllCCCCooooppppyyyyPPPPiiiixxxxeeeellllssss is executed between the
execution of ggggllllBBBBeeeeggggiiiinnnn and the corresponding execution of ggggllllEEEEnnnndddd.
ggggllllGGGGeeeetttt with argument GGGGLLLL____CCCCUUUURRRRRRRREEEENNNNTTTT____RRRRAAAASSSSTTTTEEEERRRR____PPPPOOOOSSSSIIIITTTTIIIIOOOONNNN
ggggllllGGGGeeeetttt with argument GGGGLLLL____CCCCUUUURRRRRRRREEEENNNNTTTT____RRRRAAAASSSSTTTTEEEERRRR____PPPPOOOOSSSSIIIITTTTIIIIOOOONNNN____VVVVAAAALLLLIIIIDDDD
On RRRReeeeaaaalllliiiittttyyyyEEEEnnnnggggiiiinnnneeee, RRRReeeeaaaalllliiiittttyyyyEEEEnnnnggggiiiinnnneeee2222, and VVVVTTTTXXXX systems convolution may not be
used in the following circumstances:
1. When rendering to pixmaps.
2. When fragment processing (texturing, depth buffering, alpha
4. When either of the pixel zoom factors has a value other than 1.0
or -1.0.
In these cases, ggggllllDDDDrrrraaaawwwwPPPPiiiixxxxeeeellllssss and ggggllllCCCCooooppppyyyyPPPPiiiixxxxeeeellllssss report a
GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____OOOOPPPPEEEERRRRAAAATTTTIIIIOOOONNNN error and do not transfer any pixels.
RRRReeeeaaaalllliiiittttyyyyEEEEnnnnggggiiiinnnneeee, RRRReeeeaaaalllliiiittttyyyyEEEEnnnnggggiiiinnnneeee2222, and VVVVTTTTXXXX systems cannot copy pixels from a
video source (see ggggllllXXXXCCCCrrrreeeeaaaatttteeeeGGGGLLLLXXXXVVVViiiiddddeeeeooooSSSSoooouuuurrrrcccceeeeSSSSGGGGIIIIXXXX) when RGBA scale and bias
are not 1 and 0, respectively, or when any of texturing, alpha or depth
testing, pixel mapping, multisampling, convolution, histogram, or minmax
is enabled. A GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____OOOOPPPPEEEERRRRAAAATTTTIIIIOOOONNNN error will result if any of these
conditions is true when ggggllllCCCCooooppppyyyyPPPPiiiixxxxeeeellllssss is executed.
The SSSSGGGGIIIIXXXX____iiiinnnntttteeeerrrrllllaaaacccceeee extension is supported only on IIIInnnnffffiiiinnnniiiitttteeeeRRRReeeeaaaalllliiiittttyyyy
systems, on RRRReeeeaaaalllliiiittttyyyyEEEEnnnnggggiiiinnnneeee, RRRReeeeaaaalllliiiittttyyyyEEEEnnnnggggiiiinnnneeee2222, and VVVVTTTTXXXX systems, on OOOOccccttttaaaannnneeee2222
VVVVPPPPrrrroooo systems, and on OOOO2222 systems.
The IIIINNNNGGGGRRRR____iiiinnnntttteeeerrrrllllaaaacccceeee____rrrreeeeaaaadddd extension is supported only on OOOOccccttttaaaannnneeee2222 VVVVPPPPrrrroooo